// categoryRoutes.js - 视频类别路由配置
const express = require('express');
const router = express.Router();
const CategoryController = require('../controllers/CategoryController');
const { authMiddleware, adminMiddleware } = require('../utils/auth');

/**
 * 公开接口 - 无需认证
 */

// 获取所有启用的类别列表
router.get('/', CategoryController.getAllCategories);

// 根据ID获取类别详情
router.get('/:id', CategoryController.getCategoryById);

/**
 * 管理员接口 - 需要认证和管理员权限
 */

// 获取所有类别（包括禁用状态）
router.get('/admin/all', authMiddleware, adminMiddleware, CategoryController.getAllCategoriesForAdmin);

// 创建新类别
router.post('/', authMiddleware, adminMiddleware, CategoryController.createCategory);

// 更新类别
router.put('/:id', authMiddleware, adminMiddleware, CategoryController.updateCategory);

// 删除类别
router.delete('/:id', authMiddleware, adminMiddleware, CategoryController.deleteCategory);

module.exports = router;